From b5d713886d588b746aef90eff675a98caf0589ed Mon Sep 17 00:00:00 2001 From: "mwilli2@anvil.research" Date: Mon, 1 Nov 2004 00:14:22 +0000 Subject: [PATCH] bitkeeper revision 1.1159.1.315 (41857fdeXcTRTZARibSHQW4l1prQyw) Minor tweaks to xm dmesg. --- BitKeeper/etc/logging_ok | 1 + tools/python/xen/xend/server/SrvDmesg.py | 3 ++- tools/python/xen/xm/main.py | 34 +++++++++++++++++++----- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index 9f847bcf91..70a50800de 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -35,6 +35,7 @@ mafetter@fleming.research mark@maw48.kings.cam.ac.uk maw48@labyrinth.cl.cam.ac.uk mjw@wray-m-3.hpl.hp.com +mwilli2@anvil.research mwilli2@equilibrium.research mwilli2@equilibrium.research.intel-research.net rac61@labyrinth.cl.cam.ac.uk diff --git a/tools/python/xen/xend/server/SrvDmesg.py b/tools/python/xen/xend/server/SrvDmesg.py index 96a392484f..11fa4547c2 100644 --- a/tools/python/xen/xend/server/SrvDmesg.py +++ b/tools/python/xen/xend/server/SrvDmesg.py @@ -36,5 +36,6 @@ class SrvDmesg(SrvDir): def info(self): return self.xd.info() - def op_clear(self): + def op_clear(self, op, req): self.xd.clear() + return 0 diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index 0b6e37966f..e7454e507a 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -12,6 +12,7 @@ from xen.xend import sxp from xen.xend.XendClient import XendError, server from xen.xend.XendClient import main as xend_client_main from xen.xm import create, destroy, migrate, shutdown +from xen.xm.opts import * class Group: @@ -662,15 +663,34 @@ xm.prog(ProgCall) class ProgDmesg(Prog): group = 'host' name = "dmesg" - info = """Print Xen boot output.""" + info = """Read or clear Xen's message buffer.""" + + gopts = Opts(use="""[-c|--clear] + +Read Xen's message buffer (boot output, warning and error messages) or clear +its contents if the [-c|--clear] flag is specified. +""") + + gopts.opt('clear', short='c', + fn=set_true, default=0, + use="Clear the contents of the Xen message buffer.") + + short_options = ['-c'] + long_options = ['--clear'] + + def help(self, args): + self.gopts.argv = args + self.gopts.usage() def main(self, args): - if len(args) == 1: - print server.xend_node_dmesg(clear) - if len(args) > 1: - if len(args) == 2 and args[1] == '-c': - print server.xend_node_clear_dmesg() - else: self.err("%s: Invalid argument" % args[0]) + self.gopts.parse(args) + if not (1 <= len(args) <=2): + self.gopts.err('Invalid arguments: ' + str(args)) + + if not self.gopts.vals.clear: + print server.xend_node_get_dmesg() + else: + server.xend_node_clear_dmesg() xm.prog(ProgDmesg) -- 2.30.2